DAY29:Array.diff


Posted by birdbirdmurmur on 2023-08-11

題目連結

https://www.codewars.com/kata/523f5d21c841566fde000009

解法

第一版

function arrayDiff(a, b) {
  let result = []
  for (let i=0; i<a.length; i++){
    let diff = false

    for (let j=0; j<b.length; j++){
      if ( a[i] === b[j] ){
        diff = true
        break
      }
    }
    if (!diff){
      result.push(a[i])
    }
  }
  return result
}

第二版

function arrayDiff(a, b) {
  return a.filter(item => !b.includes(item));
}

筆記

第一版用雙迴圈的方式一一比對
並設一個變數diff來控制true&false
在第二個迴圈中 加入break確保可以先跳出來
a[i]加入到result裡面

第二版
快速的使用filter篩選兩個陣列中不一樣的地方
篩選a陣列 回傳一個箭頭函式
b陣列裡頭找
找不到的才回傳


#javascript #Codewars #filter #includes







Related Posts

The introduction and difference between class component and function component in React

The introduction and difference between class component and function component in React

兩場 Reactjs.tw Meetup 筆記

兩場 Reactjs.tw Meetup 筆記

React(14) - functional component + useRef

React(14) - functional component + useRef


Comments